"""
__author__ = '霍格沃兹测试开发学社'
__desc__ = '更多测试开发技术探讨，请访问：https://ceshiren.com/t/topic/15860'
"""
from dao.testcase_dao import TestcaseDao
from do.testcase_do import TestcaseDo

testcase_dao = TestcaseDao()

class TestcaseService:

    def get(self, testcase_id):
        # 通过id查询数据
        return testcase_dao.get(testcase_id)

    def list(self):
        # 返回所有
        return testcase_dao.list()

    def save(self, testcase_do: TestcaseDo):
        # 保存之前先查询数据是否存在
        # 存在返回false,不存在则进行新增
        testcase = self.get_by_name(testcase_do.name)
        if not testcase:
            return testcase_dao.save(testcase_do)
        else:
            return False

    def update(self, testcase_do: TestcaseDo):
        # 用例存在则进行更新修改，否则返回错误
        testcase = self.get(testcase_do.id)
        if not testcase:
            return False
        else:
            return testcase_dao.update(testcase_do)

    def delete(self, testcase_id):
        # 用例存在则进行删除，否则返回错误
        testcase = self.get(testcase_id)
        if not testcase:
            return False
        else:
            return testcase_dao.delete(testcase_id)

    def get_by_name(self, name):
        return testcase_dao.get_by_name(name)
